import axios from "axios"
// 1.封装获取当前定位的城市
// 2.创建并导出 获取当前定位城市的函数 getCurrentCity
export const getCurrentCity = () => {
    // 3.判断localstorage 中是否存在 定位城市
    const localCity = JSON.parse(localStorage.getItem('hkzf_city'))
    if(!localCity) {
        // 4.如果没有 就使用首页中获取定位城市的代码来获取 且存到本地中
        // 然后返回该城市数据
        // 通过ip定位获取到当前城市名称
        return new Promise((resolve, reject) => {
            const curCity = new window.BMap.LocalCity()
            curCity.get( async res=> {
              try {
                const result = await axios.get(`http://liufusong.top:8080/area/info?name=${res.name}`)
                // result.data.body=>{ label: '上海', value: ''}
                // 存储到 本地存储中
                localStorage.setItem('hkzf_city', JSON.stringify(result.data.body))
                // 返回该城市的数据  return result.data.body
                resolve(result.data.body)
              } catch (e) {
                //  获取定位失败
                reject(e)
              }
              
            })
        })
    }
    // 5.如果有 直接返回本地存储中的 城市数据
    // 注意：上面使用了异步promise 为了统一 此处也应该使用promise
    // 因为此处不会失败 所以直接返回一个成功的promise即可
    return Promise.resolve(localCity)
} 